/*
 * 单例模式（Singleton）
 *
 * 1) 定义:
 * 单例，顾名思义，就是"只有单个实例的存在"。因为有些类，是完全没必要存在多个实例的，比如Factory类、Mgr类等。
 * 单例模式是 Java 中最简单的设计模式之一，此模式保证某个类在运行期间，只有一个实例对外提供服务，而这个类被称为单例类。
 *
 * 2) 使用理由:
 * 如果说你很规范，你做了一个类之后，只实例化一个然后只用这么一个。可以。
 * 但是，你没法阻止别人去自己new一个新的（比如你封装好一个框架或者组件，有些类实际上只需要实例化一次就可以直接应用在整个架构中，
 * 但是别人引用的时候，如果其不了解这个，就很有可以自己去new一个甚至多个，这样子或是浪费内存，或是会直接让框架和组件没法发挥出其本来应尽的功能）
 *
 * 3) 优点:
 * 1、使用方便  2、防止进行多次实例化。
 *
 * 4) 设计思路:
 * 1、保证一个类只有一个实例，将对象的创建私有化，防止外界再创建  2、提供一个方法让外界调用获取该单例对象
 *
 */
package com.zwh.se.design_pattern.creational.singleton;

